Systems and methods herein generally relate to information retrieval from an electronic storage device and, more particularly, to methods to facilitate private retrieval of information using partially homomorphic encryption.
Two-party computation is a general problem in which two parties participate to compute the value of a bi-variate function f(.,.) on two inputs i1, i2, where input i1 is contributed by the first party and input i2 is contributed by the second party. The output may become available to both parties or to only one of them. It is easy to accomplish such computation if the first party just sends its input to the second party who then computes the function on the two inputs (or vice versa); however, the problem for secure computation is for the parties to compute the output in such a manner that both parties learn nothing more about the input of the other party than what can be derived from the output value and their individual inputs.
Secure two-party computation is thus a general problem that finds vast applications in privacy preserving data mining, information retrieval, etc. An effective, efficient, and practical Homomorphic encryption scheme would enable many cryptographic constructs, as well as have enormous applications for cloud computing. Many attempts have been made to create a fully Homomorphic encryption scheme, which is one that allows arbitrary computations on encrypted data without needing the help of the decrypter. Partially Homomorphic encryption schemes allow a few different types of operations on the encrypted data but not the computation of a universal NAND gate. For practical applications, the primary method of conducting two-party computations still uses a method on garbled circuits.